package com.interceptor;
import java.io.PrintWriter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

 
/**
 * 登陆拦截器
 * @author Admin
 *
 */
public class LoginInterceptor implements HandlerInterceptor {

	
	/**
	 * 该方法将在请求处理之前进行调用，也就是说会在Controller方法调用之前被调用	
	 */
	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response,Object object) throws Exception {
		System.out.println("执行preHandle方法.....");
		//response.sendRedirect(request.getContextPath() + "/login.jsp");	
	    //request.getSession().setAttribute("ereer", "sss");
        //只是改变状态码
		//response.setStatus(888);
		 //改变状态码,并定义错误信息(还不知道怎么在jsp页面取)
		response.sendError(999,"123");
		return false;  
	} 
	
	
	/**
	 * 该方法将在请求处理之后,也就是在Controller方法调用之后被调用,
	 * 但是会在视图返回被渲染之前被调用.所以可以在这个方法里面通过改变数据模型ModelMap来改变数据的展示。
	 */
	@Override
	public void postHandle(HttpServletRequest request, HttpServletResponse response,Object object, ModelAndView modelAndView) throws Exception {
		System.out.println("执行postHandle方法.....");
		
	}
	

	/**
	 * 该方法会在整个请求处理完成，也就是在视图返回并被渲染之后执行。
	 */
	@Override
	public void afterCompletion(HttpServletRequest request,HttpServletResponse response, Object object, Exception exception) throws Exception {
		System.out.println("执行afterCompletion方法.....");
		

    }
}